Warsztaty badawcze

Praca domowa 5

Paweł Morgen

0. Wczytanie danych oraz modelu

1. Dla wybranych zmiennych ze zbioru danych policz Partial Dependence Profiles

Bazując na wynikach poprzedniej pracy domowej analizie poddałem zmienne latitude, longitude, median_income, households oraz population.

Widzimy, że model SVR oraz sieć neuronowa zachowują się problematycznie dla zmiennych households (zbyt duże predykcje dla większych - a więc mniej typowych - wartości) oraz population (SVR zwraca wyniki bez sensu dla większych obserwacji).

Przypomnijmy sobie rozkład tych zmiennych:

Rozkład jest mocno skośny. Zobaczmy, jak będzie działać na danych bez outlierów.

Tutaj już modele są nieco bardziej zgodne i sensowne. Dla obu zmiennych widzimy identyczne trendy (zwłaszcza dla mniejszych wartości, a więc najczęstszych). Trendy te zgadzają się z ogólną intuicją (większa populacja -> mniejsza wartość, więcej posiadłości -> bliżej centrum miasta -> większa wartość).

Spójrzmy na zmienne latitude oraz longitude.

Obserwujemy znaczne różnice między modelami. Jak było wspomniane w poprzedniej pracy domowej, model SVR oraz sieć neuronowa nie uznaje zmiennych latitude oraz longitude za istotne.

Ciekawe zależności możemy odczytać z krzywych dla modelu XGBoost - preferowane są nieruchomości bardziej na zachód (mniejsza długość geograficzna longitude) oraz na południe (mniejsza szerokość geograficzna latitude).

Ten pierwszy wynik jest zgodny z intuicją - bardziej na zachód jest bliżej do oceanu, tam są położone duże aglomeracje. Obserwujemy duży spadek dla wartości koło 122$^o$20'W (okolice San Francisco), potem długo nic, potem powolny spadek dla wartości 118$^o$20'W do 117$^o$20'W (na tych długościach jest Los Angeles oraz San Diego).

Dla szerokości ponownie spore znaczenie ma położenie wspomnianych miast - obserwujemy spadek między 33$^o$30'N a 34$^o$30'N (San Diego, Los Angeles) oraz ogromny spadek między 37$^o$30'N a 38$^o$N (San Fransisco).

Rzućmy jeszcze okiem na zmienną median_income.

Obserwujemy różnicę między modelami od pewnego momentu. Co warto zauważyć, predykcje modelu SVR oraz sieci neuronowej dla dużych wartości dochodów przestają mieć sens. Ponownie jest to pokłosie skośności rozkładu.

Dla zdecydowanej większości obserwacji odpowiedzi modelu są zgodne.

2. Dla wybranych zmiennych ze zbioru danych policz Accumulated Local Dependence

Porównamy profile PDP oraz ALE dla zmiennych latitude i longitude dla modelu XGBoost.

Obserwujemy różnicę w wartościach, ale identyczny trend.

Spójrzmy na profile ALE dla zmiennej median_income.

Ponownie wykresy różnią się od PDP o stałe.

3. Komentarz i wnioski

Profile PDP to przydatne, czytelne narzędzie dostarczające informacji o wpływie zmiennej na odpowiedź modelu. Oprócz interpretowalnej informacji możemy łatwo wykryć, dla jakich wartości odpowiedź modelu staje się problematyczna. Dla przykładu w toku tej pracy domowej się okazało, że dla nielicznych, mocno odstających wartości model SVR oraz sieć neuronowa zwracały błędne wartości, ale dla wartości nieodstających ich odpowiedzi były sensowne.